<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libcoap: coap_session.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">libcoap<span id="projectnumber">&#160;4.2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('coap__session_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="headertitle"><div class="title">coap_session.h</div></div>
</div><!--header-->
<div class="contents">
<a href="coap__session_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* coap_session.h -- Session management for libcoap</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment">*</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment">* Copyright (C) 2017 Jean-Claue Michelou &lt;jcm@spinetix.com&gt;</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment">*</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment">* This file is part of the CoAP library libcoap. Please see</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment">* README for terms of use.</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment">*/</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#ifndef COAP_SESSION_H_</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#define COAP_SESSION_H_</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#include &quot;<a class="code" href="coap__io_8h.html">coap_io.h</a>&quot;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#include &quot;<a class="code" href="coap__time_8h.html">coap_time.h</a>&quot;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#include &quot;<a class="code" href="pdu_8h.html">pdu.h</a>&quot;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="keyword">struct </span><a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a>;</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="keyword">struct </span><a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a>;</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="keyword">struct </span><a class="code hl_struct" href="structcoap__queue__t.html">coap_queue_t</a>;</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
<div class="foldopen" id="foldopen00025" data-start="{" data-end="};">
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="structcoap__fixed__point__t.html">   25</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__fixed__point__t.html">coap_fixed_point_t</a> {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="structcoap__fixed__point__t.html#af1d2a64146f6ad7f4ad4f5418ae75f44">   26</a></span>  uint16_t <a class="code hl_variable" href="structcoap__fixed__point__t.html#af1d2a64146f6ad7f4ad4f5418ae75f44">integer_part</a>;    </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="structcoap__fixed__point__t.html#aa6ed7ff902331d33a73c913dde321c3b">   27</a></span>  uint16_t <a class="code hl_variable" href="structcoap__fixed__point__t.html#aa6ed7ff902331d33a73c913dde321c3b">fractional_part</a>; </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="coap__session_8h.html#adcf5a0f77e8cd6b89b2baebaec916329">   29</a></span>} <a class="code hl_struct" href="structcoap__fixed__point__t.html">coap_fixed_point_t</a>;</div>
</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="coap__session_8h.html#aeffe4ca864ff11a3d837735a38f3ca9e">   31</a></span><span class="preprocessor">#define COAP_DEFAULT_SESSION_TIMEOUT 300</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a1cadcca6c49ce5b24e3a986944d10536">   32</a></span><span class="preprocessor">#define COAP_PARTIAL_SESSION_TIMEOUT_TICKS (30 * COAP_TICKS_PER_SECOND)</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a4deedbe5463ff6e3c86b0bc1a514da4a">   33</a></span><span class="preprocessor">#define COAP_DEFAULT_MAX_HANDSHAKE_SESSIONS 100</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a66dad7e75beba98bd59b096adbe39c35">   35</a></span><span class="preprocessor">#define COAP_PROTO_NOT_RELIABLE(p) ((p)==COAP_PROTO_UDP || (p)==COAP_PROTO_DTLS)</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a7de76e6002dd8d1ca53f3302e4e33d21">   36</a></span><span class="preprocessor">#define COAP_PROTO_RELIABLE(p) ((p)==COAP_PROTO_TCP || (p)==COAP_PROTO_TLS)</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a53c0f7c2c9ea53e2abc29d308337d4a5">   38</a></span><span class="keyword">typedef</span> <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code hl_typedef" href="coap__session_8h.html#a53c0f7c2c9ea53e2abc29d308337d4a5">coap_session_type_t</a>;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a59e828e545b6ad57ef4d00c1891d45f3">   42</a></span><span class="preprocessor">#define COAP_SESSION_TYPE_CLIENT 1  </span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="coap__session_8h.html#ab50d7afcf477cbc7578a919c7b438d2a">   43</a></span><span class="preprocessor">#define COAP_SESSION_TYPE_SERVER 2  </span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a5f0ed55aa093f7c31ce220de378f15a1">   44</a></span><span class="preprocessor">#define COAP_SESSION_TYPE_HELLO  3  </span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a3e23bae819060da9cb76d8fc8aae9001">   46</a></span><span class="keyword">typedef</span> <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code hl_typedef" href="coap__session_8h.html#a3e23bae819060da9cb76d8fc8aae9001">coap_session_state_t</a>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a8a92a2707bab8b00c7adc43291b587c0">   50</a></span><span class="preprocessor">#define COAP_SESSION_STATE_NONE                0</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a7197e71853281bff72e84261018f81d6">   51</a></span><span class="preprocessor">#define COAP_SESSION_STATE_CONNECTING        1</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a3b04568c8db8bcced69f14b813805b7f">   52</a></span><span class="preprocessor">#define COAP_SESSION_STATE_HANDSHAKE        2</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a444a82f20628438269ebd418c4bdbe5f">   53</a></span><span class="preprocessor">#define COAP_SESSION_STATE_CSM                3</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a954b835ecd156cde63fee7d5f279ab32">   54</a></span><span class="preprocessor">#define COAP_SESSION_STATE_ESTABLISHED        4</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
<div class="foldopen" id="foldopen00056" data-start="{" data-end="};">
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="structcoap__session__t.html">   56</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#ab1a71a0cb19b2d509e7ac44a586a4e78">   57</a></span>  <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__session__t.html#ab1a71a0cb19b2d509e7ac44a586a4e78">next</a>;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a62089dd9c72836d322ae0ce0d0e7114f">   58</a></span>  <a class="code hl_typedef" href="pdu_8h.html#a9f23fe72ad67820dcdf888bb8b619dde">coap_proto_t</a> <a class="code hl_variable" href="structcoap__session__t.html#a62089dd9c72836d322ae0ce0d0e7114f">proto</a>;               </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#ac39d8e22dbd5389177a75819dab125ea">   59</a></span>  <a class="code hl_typedef" href="coap__session_8h.html#a53c0f7c2c9ea53e2abc29d308337d4a5">coap_session_type_t</a> <a class="code hl_variable" href="structcoap__session__t.html#ac39d8e22dbd5389177a75819dab125ea">type</a>;         </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a382b6afaed298581b57d62aaf043cfe3">   60</a></span>  <a class="code hl_typedef" href="coap__session_8h.html#a3e23bae819060da9cb76d8fc8aae9001">coap_session_state_t</a> <a class="code hl_variable" href="structcoap__session__t.html#a382b6afaed298581b57d62aaf043cfe3">state</a>;       </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a6efb100633d8a819e427cf1f97015440">   61</a></span>  <span class="keywordtype">unsigned</span> <a class="code hl_variable" href="structcoap__session__t.html#a6efb100633d8a819e427cf1f97015440">ref</a>;                     </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a35d1d5a9363771686717634558f9a9f4">   62</a></span>  <span class="keywordtype">unsigned</span> <a class="code hl_variable" href="structcoap__session__t.html#a35d1d5a9363771686717634558f9a9f4">tls_overhead</a>;            </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#ac126597f3f66272ed3e9c5439570e4df">   63</a></span>  <span class="keywordtype">unsigned</span> <a class="code hl_variable" href="structcoap__session__t.html#ac126597f3f66272ed3e9c5439570e4df">mtu</a>;                     </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#abc8462729a3fcdf21edc2aae125c04b8">   64</a></span>  <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> <a class="code hl_variable" href="structcoap__session__t.html#abc8462729a3fcdf21edc2aae125c04b8">local_if</a>;          </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a5e1b647f8b5ce42ea7a0d0893fb3504a">   65</a></span>  <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> <a class="code hl_variable" href="structcoap__session__t.html#a5e1b647f8b5ce42ea7a0d0893fb3504a">remote_addr</a>;       </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a527f7977596333c89e623c3deb621d25">   66</a></span>  <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> <a class="code hl_variable" href="structcoap__session__t.html#a527f7977596333c89e623c3deb621d25">local_addr</a>;        </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#afcebad5cfefed99f0073ac037ba7d997">   67</a></span>  <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__session__t.html#afcebad5cfefed99f0073ac037ba7d997">ifindex</a>;                      </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a29f92f61ab5c863c90254ce71e3859eb">   68</a></span>  <a class="code hl_struct" href="structcoap__socket__t.html">coap_socket_t</a> <a class="code hl_variable" href="structcoap__session__t.html#a29f92f61ab5c863c90254ce71e3859eb">sock</a>;               </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a351217007fcd02e549b73569577fa5a1">   69</a></span>  <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> *<a class="code hl_variable" href="structcoap__session__t.html#a351217007fcd02e549b73569577fa5a1">endpoint</a>; </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a8f8e37457b167cc8b95fadd7eeffd8d7">   70</a></span>  <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *<a class="code hl_variable" href="structcoap__session__t.html#a8f8e37457b167cc8b95fadd7eeffd8d7">context</a>;   </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a9eb6890809e9aa01d225691bb4ae97db">   71</a></span>  <span class="keywordtype">void</span> *<a class="code hl_variable" href="structcoap__session__t.html#a9eb6890809e9aa01d225691bb4ae97db">tls</a>;                        </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a66b26cc53491f7a550ed7e7d93b0b145">   72</a></span>  uint16_t <a class="code hl_variable" href="structcoap__session__t.html#a66b26cc53491f7a550ed7e7d93b0b145">tx_mid</a>;                  </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#ab360022130771a166ea0e93a1876ced4">   73</a></span>  <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code hl_variable" href="structcoap__session__t.html#ab360022130771a166ea0e93a1876ced4">con_active</a>;               </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a84e90d62fbc324bdf21041269befe30d">   74</a></span>  <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__queue__t.html">coap_queue_t</a> *<a class="code hl_variable" href="structcoap__session__t.html#a84e90d62fbc324bdf21041269befe30d">delayqueue</a>;  </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#af59543a005a01767382c6739cd710ee4">   75</a></span>  <span class="keywordtype">size_t</span> <a class="code hl_variable" href="structcoap__session__t.html#af59543a005a01767382c6739cd710ee4">partial_write</a>;             </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a580cf637bab6c459b600f83b3fe0e720">   76</a></span>  <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code hl_variable" href="structcoap__session__t.html#a580cf637bab6c459b600f83b3fe0e720">read_header</a>[8];           </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a9a70d6293b5af4165ad58115f1a4e63a">   77</a></span>  <span class="keywordtype">size_t</span> <a class="code hl_variable" href="structcoap__session__t.html#a9a70d6293b5af4165ad58115f1a4e63a">partial_read</a>;              </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a2d91d4ac95843b0a893e4d22f081f611">   78</a></span>  <a class="code hl_struct" href="structcoap__pdu__t.html">coap_pdu_t</a> *<a class="code hl_variable" href="structcoap__session__t.html#a2d91d4ac95843b0a893e4d22f081f611">partial_pdu</a>;          </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a28348c0c301bce7201403aa5545ef2b6">   79</a></span>  <a class="code hl_typedef" href="group__clock.html#ga97ff1502e211b4ee6c3f15a598833438">coap_tick_t</a> <a class="code hl_variable" href="structcoap__session__t.html#a28348c0c301bce7201403aa5545ef2b6">last_rx_tx</a>;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#ad69783e1a9bc85a43d0bd6511de2c6a0">   80</a></span>  <a class="code hl_typedef" href="group__clock.html#ga97ff1502e211b4ee6c3f15a598833438">coap_tick_t</a> <a class="code hl_variable" href="structcoap__session__t.html#ad69783e1a9bc85a43d0bd6511de2c6a0">last_tx_rst</a>;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#abe9912fc16ffc9c9f54b9cc0e898d0fb">   81</a></span>  <a class="code hl_typedef" href="group__clock.html#ga97ff1502e211b4ee6c3f15a598833438">coap_tick_t</a> <a class="code hl_variable" href="structcoap__session__t.html#abe9912fc16ffc9c9f54b9cc0e898d0fb">last_ping</a>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a017ee7bfd8942df7a1c656fe52d5ac6a">   82</a></span>  <a class="code hl_typedef" href="group__clock.html#ga97ff1502e211b4ee6c3f15a598833438">coap_tick_t</a> <a class="code hl_variable" href="structcoap__session__t.html#a017ee7bfd8942df7a1c656fe52d5ac6a">last_pong</a>;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#af8b4ea1655029f581c5a85c93f4c742d">   83</a></span>  <a class="code hl_typedef" href="group__clock.html#ga97ff1502e211b4ee6c3f15a598833438">coap_tick_t</a> <a class="code hl_variable" href="structcoap__session__t.html#af8b4ea1655029f581c5a85c93f4c742d">csm_tx</a>;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a8a7bb416f1b131d5eeddd2c7915d4e3e">   84</a></span>  <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *<a class="code hl_variable" href="structcoap__session__t.html#a8a7bb416f1b131d5eeddd2c7915d4e3e">psk_identity</a>;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a3d42db7192f7dd9b4dbc580623ae80b2">   85</a></span>  <span class="keywordtype">size_t</span> <a class="code hl_variable" href="structcoap__session__t.html#a3d42db7192f7dd9b4dbc580623ae80b2">psk_identity_len</a>;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a68e9ded6d8b771bba584d50809cee98c">   86</a></span>  <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *<a class="code hl_variable" href="structcoap__session__t.html#a68e9ded6d8b771bba584d50809cee98c">psk_key</a>;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#af95ccb69ae49c6d8a2a3ccbd8d967067">   87</a></span>  <span class="keywordtype">size_t</span> <a class="code hl_variable" href="structcoap__session__t.html#af95ccb69ae49c6d8a2a3ccbd8d967067">psk_key_len</a>;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#ab7bbc675ecb1bc714b160aba22393406">   88</a></span>  <span class="keywordtype">void</span> *<a class="code hl_variable" href="structcoap__session__t.html#ab7bbc675ecb1bc714b160aba22393406">app</a>;                        </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a2b1cf84dfbbb313dd07afe2eba0f498b">   89</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__session__t.html#a2b1cf84dfbbb313dd07afe2eba0f498b">max_retransmit</a>;      </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#abf982474de09f45881ce3e31a8782118">   90</a></span>  <a class="code hl_struct" href="structcoap__fixed__point__t.html">coap_fixed_point_t</a> <a class="code hl_variable" href="structcoap__session__t.html#abf982474de09f45881ce3e31a8782118">ack_timeout</a>;   </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#ab2221cf0295db08a698d75292edb3e52">   91</a></span>  <a class="code hl_struct" href="structcoap__fixed__point__t.html">coap_fixed_point_t</a> <a class="code hl_variable" href="structcoap__session__t.html#ab2221cf0295db08a698d75292edb3e52">ack_random_factor</a>; </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a0e449eb256836dcf5932791f53881b6e">   92</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__session__t.html#a0e449eb256836dcf5932791f53881b6e">dtls_timeout_count</a>;      </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="structcoap__session__t.html#a9ddc6f7076a6c6f3781e65d8c7555489">   93</a></span>  <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__session__t.html#a9ddc6f7076a6c6f3781e65d8c7555489">dtls_event</a>;                       </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="coap__session_8h.html#ae5c4a858734924c24e43abbb988446aa">   94</a></span>} <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a>;</div>
</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_function" href="coap__session_8h.html#ae37bac62f8de2cecd968ec1c26eb23b4">coap_session_reference</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">session</a>);</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span> </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#a9aee135ba884d7c143b11bc42fd23e53">coap_session_release</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">session</a>);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#a99e20f56b02256dc352cc48bdc04b778">coap_session_set_app_data</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">session</a>, <span class="keywordtype">void</span> *data);</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span><span class="keywordtype">void</span> *<a class="code hl_function" href="coap__session_8h.html#afaa81c523bab1519c3df5b06e7931f66">coap_session_get_app_data</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">session</a>);</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#ad3377d3198c10fa086502035ded9c268">coap_session_disconnected</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">session</a>, <a class="code hl_enumeration" href="coap__io_8h.html#a7ff2bb32137ca684be5539c156bdc418">coap_nack_reason_t</a> reason);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#a2f455ec1572982a5ae404beac0cfbd53">coap_session_send_csm</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">session</a>);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#aa8b3a2da8480911b0216dad076038cb6">coap_session_connected</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">session</a>);</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#a23671937b7c384fb768ccd00cc39db45">coap_session_set_mtu</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">session</a>, <span class="keywordtype">unsigned</span> mtu);</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span> </div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span><span class="keywordtype">size_t</span> <a class="code hl_function" href="coap__session_8h.html#a4368ee622c681bf7cf0b7cfe99c8ab37">coap_session_max_pdu_size</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">session</a>);</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_function" href="coap__session_8h.html#a27368ba92c60da1c501408477b86735e">coap_new_client_session</a>(</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>  <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *ctx,</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>  <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> *local_if,</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>  <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> *server,</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span>  <a class="code hl_typedef" href="pdu_8h.html#a9f23fe72ad67820dcdf888bb8b619dde">coap_proto_t</a> proto</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span>);</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_function" href="coap__session_8h.html#aaad2073b08052ead81502b708d1c3df3">coap_new_client_session_psk</a>(</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>  <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *ctx,</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span>  <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> *local_if,</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>  <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> *server,</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span>  <a class="code hl_typedef" href="pdu_8h.html#a9f23fe72ad67820dcdf888bb8b619dde">coap_proto_t</a> proto,</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *identity,</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>  <span class="keyword">const</span> <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *key,</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>  <span class="keywordtype">unsigned</span> key_len</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>);</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span><span class="keyword">struct </span><a class="code hl_struct" href="structcoap__dtls__pki__t.html">coap_dtls_pki_t</a>;</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_function" href="coap__session_8h.html#aab88c1006da3287ef11ce5ecb249de1a">coap_new_client_session_pki</a>(</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>  <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *ctx,</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span>  <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> *local_if,</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>  <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> *server,</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>  <a class="code hl_typedef" href="pdu_8h.html#a9f23fe72ad67820dcdf888bb8b619dde">coap_proto_t</a> proto,</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>  <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__dtls__pki__t.html">coap_dtls_pki_t</a> *setup_data</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>);</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span> </div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_function" href="coap__session_8h.html#a0aab9b027be5f2ab6858c5fd45d5903e">coap_new_server_session</a>(</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>  <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *ctx,</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>  <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> *ep</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>);</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>ssize_t <a class="code hl_function" href="coap__session_8h.html#a43ad12697cacde3be9579f8253ca9ccf">coap_session_send</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session,</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>  <span class="keyword">const</span> <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <span class="keywordtype">size_t</span> datalen);</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span> </div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>ssize_t <a class="code hl_function" href="coap__session_8h.html#adb19e1f2544b8b01424fa2e9dce41e7b">coap_session_write</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session,</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>  <span class="keyword">const</span> <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <span class="keywordtype">size_t</span> datalen);</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span> </div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno">  282</span>ssize_t <a class="code hl_function" href="coap__session_8h.html#aaf20c9b0b2ad3168c15e535a67ea3ce5">coap_session_send_pdu</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session, <a class="code hl_struct" href="structcoap__pdu__t.html">coap_pdu_t</a> *pdu);</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span> </div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span><span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="group__logging.html#gabf09c67f27059ca278900e7e8fdd475e">coap_session_str</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session);</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span> </div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>ssize_t</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span><a class="code hl_function" href="coap__session_8h.html#a0bbb4153c8efc0a5425990e24a541c5e">coap_session_delay_pdu</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session, <a class="code hl_struct" href="structcoap__pdu__t.html">coap_pdu_t</a> *pdu,</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span>                       <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__queue__t.html">coap_queue_t</a> *node);</div>
<div class="foldopen" id="foldopen00301" data-start="{" data-end="};">
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"><a class="line" href="structcoap__endpoint__t.html">  301</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> {</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"><a class="line" href="structcoap__endpoint__t.html#aa1898beae662b147f0b1d2b36a9c5391">  302</a></span>  <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> *<a class="code hl_variable" href="structcoap__endpoint__t.html#aa1898beae662b147f0b1d2b36a9c5391">next</a>;</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="structcoap__endpoint__t.html#a4612066bbf36aa7012fd292d8eb4cbe8">  303</a></span>  <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *<a class="code hl_variable" href="structcoap__endpoint__t.html#a4612066bbf36aa7012fd292d8eb4cbe8">context</a>; </div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"><a class="line" href="structcoap__endpoint__t.html#ad5a48a373d77ee179f28ebba6e064b55">  304</a></span>  <a class="code hl_typedef" href="pdu_8h.html#a9f23fe72ad67820dcdf888bb8b619dde">coap_proto_t</a> <a class="code hl_variable" href="structcoap__endpoint__t.html#ad5a48a373d77ee179f28ebba6e064b55">proto</a>;             </div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"><a class="line" href="structcoap__endpoint__t.html#a5b819bf10b7f0d3d4fd169f2adc86b79">  305</a></span>  uint16_t <a class="code hl_variable" href="structcoap__endpoint__t.html#a5b819bf10b7f0d3d4fd169f2adc86b79">default_mtu</a>;           </div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"><a class="line" href="structcoap__endpoint__t.html#ad0d9d4c7a4ff91f4e5149ea82cc02a38">  306</a></span>  <a class="code hl_struct" href="structcoap__socket__t.html">coap_socket_t</a> <a class="code hl_variable" href="structcoap__endpoint__t.html#ad0d9d4c7a4ff91f4e5149ea82cc02a38">sock</a>;             </div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"><a class="line" href="structcoap__endpoint__t.html#ab7ae1b1eaada32ecebf9333945fbe4e0">  307</a></span>  <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> <a class="code hl_variable" href="structcoap__endpoint__t.html#ab7ae1b1eaada32ecebf9333945fbe4e0">bind_addr</a>;       </div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"><a class="line" href="structcoap__endpoint__t.html#a6032778926bccf2e0c4f093eff03bb51">  308</a></span>  <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_variable" href="structcoap__endpoint__t.html#a6032778926bccf2e0c4f093eff03bb51">sessions</a>;       </div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"><a class="line" href="structcoap__endpoint__t.html#a86f59a037b10a85da5a295f29b4febc5">  309</a></span>  <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> <a class="code hl_variable" href="structcoap__endpoint__t.html#a86f59a037b10a85da5a295f29b4febc5">hello</a>;           </div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a470c6a3975a7b4ac44f25e8fe44d805a">  310</a></span>} <a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a>;</div>
</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span> </div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span><a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> *<a class="code hl_function" href="coap__session_8h.html#a05cb8f588768de5cabb83840c63ad746">coap_new_endpoint</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *context, <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> *listen_addr, <a class="code hl_typedef" href="pdu_8h.html#a9f23fe72ad67820dcdf888bb8b619dde">coap_proto_t</a> proto);</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span> </div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#aa0e097f62e746144d8224a63678d14f4">coap_endpoint_set_default_mtu</a>(<a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> *<a class="code hl_variable" href="structcoap__context__t.html#ab7d5935f4a3e1c94fa6bb12bf6400006">endpoint</a>, <span class="keywordtype">unsigned</span> mtu);</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno">  330</span> </div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno">  331</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#a157d58fe7840d7d7e36c40fff0825674">coap_free_endpoint</a>(<a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> *ep);</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span> </div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno">  333</span> </div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span><span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="group__logging.html#gaab3c752e5438040817ca0df50ceaf162">coap_endpoint_str</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> *<a class="code hl_variable" href="structcoap__context__t.html#ab7d5935f4a3e1c94fa6bb12bf6400006">endpoint</a>);</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span> </div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"><a class="line" href="coap__session_8h.html#ad5332dde6300b189c007c2cfc7548de5">  352</a></span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_function" href="coap__session_8h.html#ad5332dde6300b189c007c2cfc7548de5">coap_endpoint_get_session</a>(<a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> *<a class="code hl_variable" href="structcoap__context__t.html#ab7d5935f4a3e1c94fa6bb12bf6400006">endpoint</a>,</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span>  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__packet__t.html">coap_packet_t</a> *packet, <a class="code hl_typedef" href="group__clock.html#ga97ff1502e211b4ee6c3f15a598833438">coap_tick_t</a> now);</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span> </div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"><a class="line" href="group__dtls__internal.html#ga0caf72509389aca217add5fbaa125f52">  366</a></span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_function" href="group__dtls__internal.html#ga0caf72509389aca217add5fbaa125f52">coap_endpoint_new_dtls_session</a>(<a class="code hl_struct" href="structcoap__endpoint__t.html">coap_endpoint_t</a> *<a class="code hl_variable" href="structcoap__context__t.html#ab7d5935f4a3e1c94fa6bb12bf6400006">endpoint</a>,</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span>  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__packet__t.html">coap_packet_t</a> *packet, <a class="code hl_typedef" href="group__clock.html#ga97ff1502e211b4ee6c3f15a598833438">coap_tick_t</a> now);</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span> </div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"><a class="line" href="coap__session_8h.html#a7ad5e9a06810ee45664f88ab6523357c">  369</a></span><a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *<a class="code hl_function" href="coap__session_8h.html#a7ad5e9a06810ee45664f88ab6523357c">coap_session_get_by_peer</a>(<span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *ctx,</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno">  370</span>  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code hl_struct" href="structcoap__address__t.html">coap_address_t</a> *remote_addr, <span class="keywordtype">int</span> ifindex);</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno">  371</span> </div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#ab3d24595515d6f66805791a7f821d5e7">coap_session_free</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session);</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#ab91ca670624ee770714727efff274c49">coap_session_mfree</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session);</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span> </div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"><a class="line" href="group__cc.html#ga94c99a6160d08f8c3b79a1c31b712ea0">  388</a></span><span class="preprocessor">#define COAP_DEFAULT_ACK_TIMEOUT ((coap_fixed_point_t){2,0})</span></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span> </div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="group__cc.html#ga4fcd70b1558aeb7fea1cd734a53589e0">  395</a></span><span class="preprocessor">#define COAP_DEFAULT_ACK_RANDOM_FACTOR ((coap_fixed_point_t){1,500})</span></div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span> </div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"><a class="line" href="group__cc.html#ga7574b8b96be63292723bab49f11386bc">  401</a></span><span class="preprocessor">#define COAP_DEFAULT_MAX_RETRANSMIT  4</span></div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno">  402</span> </div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"><a class="line" href="group__cc.html#ga9d5bcf0eaa2f8b5d0c8f0c7b0e76aac9">  408</a></span><span class="preprocessor">#define COAP_DEFAULT_NSTART 1</span></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span> </div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#a0292e90d1449f26885194c9efb7d3a27">coap_session_set_max_retransmit</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session,</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span>                                     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> value);</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span> </div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#a9b9cd625815481afa130fa086362dfe1">coap_session_set_ack_timeout</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session,</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno">  435</span>                                  <a class="code hl_struct" href="structcoap__fixed__point__t.html">coap_fixed_point_t</a> value);</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno">  436</span> </div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno">  447</span><span class="keywordtype">void</span> <a class="code hl_function" href="coap__session_8h.html#a45feb3b133d2673839723a8ecf6d547c">coap_session_set_ack_random_factor</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session,</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno">  448</span>                                        <a class="code hl_struct" href="structcoap__fixed__point__t.html">coap_fixed_point_t</a> value);</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno">  449</span> </div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno">  459</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="coap__session_8h.html#a495176d2531e846c1cda3961119df1c0">coap_session_get_max_transmit</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session);</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  460</span> </div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  471</span><a class="code hl_struct" href="structcoap__fixed__point__t.html">coap_fixed_point_t</a> <a class="code hl_function" href="coap__session_8h.html#a9b7b3b2cc65d0f9f4affbfa76aaf6dac">coap_session_get_ack_timeout</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session);</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno">  472</span> </div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno">  483</span><a class="code hl_struct" href="structcoap__fixed__point__t.html">coap_fixed_point_t</a> <a class="code hl_function" href="coap__session_8h.html#ae9d572f48de8c2d3158222102221ddfe">coap_session_get_ack_random_factor</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session);</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno">  484</span> </div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">  491</span><a class="code hl_typedef" href="pdu_8h.html#ac60fb9284ace878df3db4a2d621d9a8d">coap_tid_t</a> <a class="code hl_function" href="coap__session_8h.html#ab3f9f60c0a4857c147fef5721025944c">coap_session_send_ping</a>(<a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session);</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno">  492</span> </div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  493</span><span class="preprocessor">#endif  </span><span class="comment">/* COAP_SESSION_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="acoap__io_8h_html"><div class="ttname"><a href="coap__io_8h.html">coap_io.h</a></div></div>
<div class="ttc" id="acoap__io_8h_html_a7ff2bb32137ca684be5539c156bdc418"><div class="ttname"><a href="coap__io_8h.html#a7ff2bb32137ca684be5539c156bdc418">coap_nack_reason_t</a></div><div class="ttdeci">coap_nack_reason_t</div><div class="ttdef"><b>Definition</b> <a href="coap__io_8h_source.html#l00206">coap_io.h:206</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a0292e90d1449f26885194c9efb7d3a27"><div class="ttname"><a href="coap__session_8h.html#a0292e90d1449f26885194c9efb7d3a27">coap_session_set_max_retransmit</a></div><div class="ttdeci">void coap_session_set_max_retransmit(coap_session_t *session, unsigned int value)</div><div class="ttdoc">Set the CoAP maximum retransmit count before failure.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00026">coap_session.c:26</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a05cb8f588768de5cabb83840c63ad746"><div class="ttname"><a href="coap__session_8h.html#a05cb8f588768de5cabb83840c63ad746">coap_new_endpoint</a></div><div class="ttdeci">coap_endpoint_t * coap_new_endpoint(struct coap_context_t *context, const coap_address_t *listen_addr, coap_proto_t proto)</div><div class="ttdoc">Create a new endpoint for communicating with peers.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00810">coap_session.c:810</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a0aab9b027be5f2ab6858c5fd45d5903e"><div class="ttname"><a href="coap__session_8h.html#a0aab9b027be5f2ab6858c5fd45d5903e">coap_new_server_session</a></div><div class="ttdeci">coap_session_t * coap_new_server_session(struct coap_context_t *ctx, struct coap_endpoint_t *ep)</div><div class="ttdoc">Creates a new server session for the specified endpoint.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00780">coap_session.c:780</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a0bbb4153c8efc0a5425990e24a541c5e"><div class="ttname"><a href="coap__session_8h.html#a0bbb4153c8efc0a5425990e24a541c5e">coap_session_delay_pdu</a></div><div class="ttdeci">ssize_t coap_session_delay_pdu(coap_session_t *session, coap_pdu_t *pdu, struct coap_queue_t *node)</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00253">coap_session.c:253</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a157d58fe7840d7d7e36c40fff0825674"><div class="ttname"><a href="coap__session_8h.html#a157d58fe7840d7d7e36c40fff0825674">coap_free_endpoint</a></div><div class="ttdeci">void coap_free_endpoint(coap_endpoint_t *ep)</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00901">coap_session.c:901</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a23671937b7c384fb768ccd00cc39db45"><div class="ttname"><a href="coap__session_8h.html#a23671937b7c384fb768ccd00cc39db45">coap_session_set_mtu</a></div><div class="ttdeci">void coap_session_set_mtu(coap_session_t *session, unsigned mtu)</div><div class="ttdoc">Set the session MTU.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00206">coap_session.c:206</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a27368ba92c60da1c501408477b86735e"><div class="ttname"><a href="coap__session_8h.html#a27368ba92c60da1c501408477b86735e">coap_new_client_session</a></div><div class="ttdeci">coap_session_t * coap_new_client_session(struct coap_context_t *ctx, const coap_address_t *local_if, const coap_address_t *server, coap_proto_t proto)</div><div class="ttdoc">Creates a new client session to the designated server.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00665">coap_session.c:665</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a2f455ec1572982a5ae404beac0cfbd53"><div class="ttname"><a href="coap__session_8h.html#a2f455ec1572982a5ae404beac0cfbd53">coap_session_send_csm</a></div><div class="ttdeci">void coap_session_send_csm(coap_session_t *session)</div><div class="ttdoc">Notify session transport has just connected and CSM exchange can now start.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00290">coap_session.c:290</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a3e23bae819060da9cb76d8fc8aae9001"><div class="ttname"><a href="coap__session_8h.html#a3e23bae819060da9cb76d8fc8aae9001">coap_session_state_t</a></div><div class="ttdeci">uint8_t coap_session_state_t</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00046">coap_session.h:46</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a4368ee622c681bf7cf0b7cfe99c8ab37"><div class="ttname"><a href="coap__session_8h.html#a4368ee622c681bf7cf0b7cfe99c8ab37">coap_session_max_pdu_size</a></div><div class="ttdeci">size_t coap_session_max_pdu_size(const coap_session_t *session)</div><div class="ttdoc">Get maximum acceptable PDU size.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00189">coap_session.c:189</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a43ad12697cacde3be9579f8253ca9ccf"><div class="ttname"><a href="coap__session_8h.html#a43ad12697cacde3be9579f8253ca9ccf">coap_session_send</a></div><div class="ttdeci">ssize_t coap_session_send(coap_session_t *session, const uint8_t *data, size_t datalen)</div><div class="ttdoc">Function interface for datagram data transmission.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00218">coap_session.c:218</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a45feb3b133d2673839723a8ecf6d547c"><div class="ttname"><a href="coap__session_8h.html#a45feb3b133d2673839723a8ecf6d547c">coap_session_set_ack_random_factor</a></div><div class="ttdeci">void coap_session_set_ack_random_factor(coap_session_t *session, coap_fixed_point_t value)</div><div class="ttdoc">Set the CoAP ack randomize factor.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00045">coap_session.c:45</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a495176d2531e846c1cda3961119df1c0"><div class="ttname"><a href="coap__session_8h.html#a495176d2531e846c1cda3961119df1c0">coap_session_get_max_transmit</a></div><div class="ttdeci">unsigned int coap_session_get_max_transmit(coap_session_t *session)</div><div class="ttdoc">Get the CoAP maximum retransmit before failure.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00056">coap_session.c:56</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a53c0f7c2c9ea53e2abc29d308337d4a5"><div class="ttname"><a href="coap__session_8h.html#a53c0f7c2c9ea53e2abc29d308337d4a5">coap_session_type_t</a></div><div class="ttdeci">uint8_t coap_session_type_t</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00038">coap_session.h:38</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a7ad5e9a06810ee45664f88ab6523357c"><div class="ttname"><a href="coap__session_8h.html#a7ad5e9a06810ee45664f88ab6523357c">coap_session_get_by_peer</a></div><div class="ttdeci">coap_session_t * coap_session_get_by_peer(struct coap_context_t *ctx, const struct coap_address_t *remote_addr, int ifindex)</div></div>
<div class="ttc" id="acoap__session_8h_html_a99e20f56b02256dc352cc48bdc04b778"><div class="ttname"><a href="coap__session_8h.html#a99e20f56b02256dc352cc48bdc04b778">coap_session_set_app_data</a></div><div class="ttdeci">void coap_session_set_app_data(coap_session_t *session, void *data)</div><div class="ttdoc">Stores data with the given session.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00088">coap_session.c:88</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a9aee135ba884d7c143b11bc42fd23e53"><div class="ttname"><a href="coap__session_8h.html#a9aee135ba884d7c143b11bc42fd23e53">coap_session_release</a></div><div class="ttdeci">void coap_session_release(coap_session_t *session)</div><div class="ttdoc">Decrement reference counter on a session.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00077">coap_session.c:77</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a9b7b3b2cc65d0f9f4affbfa76aaf6dac"><div class="ttname"><a href="coap__session_8h.html#a9b7b3b2cc65d0f9f4affbfa76aaf6dac">coap_session_get_ack_timeout</a></div><div class="ttdeci">coap_fixed_point_t coap_session_get_ack_timeout(coap_session_t *session)</div><div class="ttdoc">Get the CoAP initial ack response timeout before the next re-transmit.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00061">coap_session.c:61</a></div></div>
<div class="ttc" id="acoap__session_8h_html_a9b9cd625815481afa130fa086362dfe1"><div class="ttname"><a href="coap__session_8h.html#a9b9cd625815481afa130fa086362dfe1">coap_session_set_ack_timeout</a></div><div class="ttdeci">void coap_session_set_ack_timeout(coap_session_t *session, coap_fixed_point_t value)</div><div class="ttdoc">Set the CoAP initial ack response timeout before the next re-transmit.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00035">coap_session.c:35</a></div></div>
<div class="ttc" id="acoap__session_8h_html_aa0e097f62e746144d8224a63678d14f4"><div class="ttname"><a href="coap__session_8h.html#aa0e097f62e746144d8224a63678d14f4">coap_endpoint_set_default_mtu</a></div><div class="ttdeci">void coap_endpoint_set_default_mtu(coap_endpoint_t *endpoint, unsigned mtu)</div><div class="ttdoc">Set the endpoint's default MTU.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00896">coap_session.c:896</a></div></div>
<div class="ttc" id="acoap__session_8h_html_aa8b3a2da8480911b0216dad076038cb6"><div class="ttname"><a href="coap__session_8h.html#aa8b3a2da8480911b0216dad076038cb6">coap_session_connected</a></div><div class="ttdeci">void coap_session_connected(coap_session_t *session)</div><div class="ttdoc">Notify session that it has just connected or reconnected.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00326">coap_session.c:326</a></div></div>
<div class="ttc" id="acoap__session_8h_html_aaad2073b08052ead81502b708d1c3df3"><div class="ttname"><a href="coap__session_8h.html#aaad2073b08052ead81502b708d1c3df3">coap_new_client_session_psk</a></div><div class="ttdeci">coap_session_t * coap_new_client_session_psk(struct coap_context_t *ctx, const coap_address_t *local_if, const coap_address_t *server, coap_proto_t proto, const char *identity, const uint8_t *key, unsigned key_len)</div><div class="ttdoc">Creates a new client session to the designated server with PSK credentials.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00680">coap_session.c:680</a></div></div>
<div class="ttc" id="acoap__session_8h_html_aab88c1006da3287ef11ce5ecb249de1a"><div class="ttname"><a href="coap__session_8h.html#aab88c1006da3287ef11ce5ecb249de1a">coap_new_client_session_pki</a></div><div class="ttdeci">coap_session_t * coap_new_client_session_pki(struct coap_context_t *ctx, const coap_address_t *local_if, const coap_address_t *server, coap_proto_t proto, struct coap_dtls_pki_t *setup_data)</div><div class="ttdoc">Creates a new client session to the designated server with PKI credentials.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00740">coap_session.c:740</a></div></div>
<div class="ttc" id="acoap__session_8h_html_aaf20c9b0b2ad3168c15e535a67ea3ce5"><div class="ttname"><a href="coap__session_8h.html#aaf20c9b0b2ad3168c15e535a67ea3ce5">coap_session_send_pdu</a></div><div class="ttdeci">ssize_t coap_session_send_pdu(coap_session_t *session, coap_pdu_t *pdu)</div><div class="ttdoc">Send a pdu according to the session's protocol.</div><div class="ttdef"><b>Definition</b> <a href="net_8c_source.html#l00627">net.c:627</a></div></div>
<div class="ttc" id="acoap__session_8h_html_ab3d24595515d6f66805791a7f821d5e7"><div class="ttname"><a href="coap__session_8h.html#ab3d24595515d6f66805791a7f821d5e7">coap_session_free</a></div><div class="ttdeci">void coap_session_free(coap_session_t *session)</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00170">coap_session.c:170</a></div></div>
<div class="ttc" id="acoap__session_8h_html_ab3f9f60c0a4857c147fef5721025944c"><div class="ttname"><a href="coap__session_8h.html#ab3f9f60c0a4857c147fef5721025944c">coap_session_send_ping</a></div><div class="ttdeci">coap_tid_t coap_session_send_ping(coap_session_t *session)</div><div class="ttdoc">Send a ping message for the session.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00316">coap_session.c:316</a></div></div>
<div class="ttc" id="acoap__session_8h_html_ab91ca670624ee770714727efff274c49"><div class="ttname"><a href="coap__session_8h.html#ab91ca670624ee770714727efff274c49">coap_session_mfree</a></div><div class="ttdeci">void coap_session_mfree(coap_session_t *session)</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00147">coap_session.c:147</a></div></div>
<div class="ttc" id="acoap__session_8h_html_ad3377d3198c10fa086502035ded9c268"><div class="ttname"><a href="coap__session_8h.html#ad3377d3198c10fa086502035ded9c268">coap_session_disconnected</a></div><div class="ttdeci">void coap_session_disconnected(coap_session_t *session, coap_nack_reason_t reason)</div><div class="ttdoc">Notify session that it has failed.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00383">coap_session.c:383</a></div></div>
<div class="ttc" id="acoap__session_8h_html_ad5332dde6300b189c007c2cfc7548de5"><div class="ttname"><a href="coap__session_8h.html#ad5332dde6300b189c007c2cfc7548de5">coap_endpoint_get_session</a></div><div class="ttdeci">coap_session_t * coap_endpoint_get_session(coap_endpoint_t *endpoint, const struct coap_packet_t *packet, coap_tick_t now)</div><div class="ttdoc">Lookup the server session for the packet received on an endpoint, or create a new one.</div></div>
<div class="ttc" id="acoap__session_8h_html_adb19e1f2544b8b01424fa2e9dce41e7b"><div class="ttname"><a href="coap__session_8h.html#adb19e1f2544b8b01424fa2e9dce41e7b">coap_session_write</a></div><div class="ttdeci">ssize_t coap_session_write(coap_session_t *session, const uint8_t *data, size_t datalen)</div><div class="ttdoc">Function interface for stream data transmission.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00239">coap_session.c:239</a></div></div>
<div class="ttc" id="acoap__session_8h_html_ae37bac62f8de2cecd968ec1c26eb23b4"><div class="ttname"><a href="coap__session_8h.html#ae37bac62f8de2cecd968ec1c26eb23b4">coap_session_reference</a></div><div class="ttdeci">coap_session_t * coap_session_reference(coap_session_t *session)</div><div class="ttdoc">Increment reference counter on a session.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00071">coap_session.c:71</a></div></div>
<div class="ttc" id="acoap__session_8h_html_ae9d572f48de8c2d3158222102221ddfe"><div class="ttname"><a href="coap__session_8h.html#ae9d572f48de8c2d3158222102221ddfe">coap_session_get_ack_random_factor</a></div><div class="ttdeci">coap_fixed_point_t coap_session_get_ack_random_factor(coap_session_t *session)</div><div class="ttdoc">Get the CoAP ack randomize factor.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00066">coap_session.c:66</a></div></div>
<div class="ttc" id="acoap__session_8h_html_afaa81c523bab1519c3df5b06e7931f66"><div class="ttname"><a href="coap__session_8h.html#afaa81c523bab1519c3df5b06e7931f66">coap_session_get_app_data</a></div><div class="ttdeci">void * coap_session_get_app_data(const coap_session_t *session)</div><div class="ttdoc">Returns any application-specific data that has been stored with session using the function coap_sessi...</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00094">coap_session.c:94</a></div></div>
<div class="ttc" id="acoap__time_8h_html"><div class="ttname"><a href="coap__time_8h.html">coap_time.h</a></div><div class="ttdoc">Clock Handling.</div></div>
<div class="ttc" id="agroup__clock_html_ga97ff1502e211b4ee6c3f15a598833438"><div class="ttname"><a href="group__clock.html#ga97ff1502e211b4ee6c3f15a598833438">coap_tick_t</a></div><div class="ttdeci">uint64_t coap_tick_t</div><div class="ttdoc">This data type represents internal timer ticks with COAP_TICKS_PER_SECOND resolution.</div><div class="ttdef"><b>Definition</b> <a href="coap__time_8h_source.html#l00085">coap_time.h:85</a></div></div>
<div class="ttc" id="agroup__dtls__internal_html_ga0caf72509389aca217add5fbaa125f52"><div class="ttname"><a href="group__dtls__internal.html#ga0caf72509389aca217add5fbaa125f52">coap_endpoint_new_dtls_session</a></div><div class="ttdeci">coap_session_t * coap_endpoint_new_dtls_session(coap_endpoint_t *endpoint, const struct coap_packet_t *packet, coap_tick_t now)</div><div class="ttdoc">Create a new DTLS session for the endpoint.</div></div>
<div class="ttc" id="agroup__logging_html_gaab3c752e5438040817ca0df50ceaf162"><div class="ttname"><a href="group__logging.html#gaab3c752e5438040817ca0df50ceaf162">coap_endpoint_str</a></div><div class="ttdeci">const char * coap_endpoint_str(const coap_endpoint_t *endpoint)</div><div class="ttdoc">Get endpoint description.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00980">coap_session.c:980</a></div></div>
<div class="ttc" id="agroup__logging_html_gabf09c67f27059ca278900e7e8fdd475e"><div class="ttname"><a href="group__logging.html#gabf09c67f27059ca278900e7e8fdd475e">coap_session_str</a></div><div class="ttdeci">const char * coap_session_str(const coap_session_t *session)</div><div class="ttdoc">Get session description.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8c_source.html#l00943">coap_session.c:943</a></div></div>
<div class="ttc" id="apdu_8h_html"><div class="ttname"><a href="pdu_8h.html">pdu.h</a></div><div class="ttdoc">Pre-defined constants that reflect defaults for CoAP.</div></div>
<div class="ttc" id="apdu_8h_html_a9f23fe72ad67820dcdf888bb8b619dde"><div class="ttname"><a href="pdu_8h.html#a9f23fe72ad67820dcdf888bb8b619dde">coap_proto_t</a></div><div class="ttdeci">uint8_t coap_proto_t</div><div class="ttdef"><b>Definition</b> <a href="pdu_8h_source.html#l00337">pdu.h:337</a></div></div>
<div class="ttc" id="apdu_8h_html_ac60fb9284ace878df3db4a2d621d9a8d"><div class="ttname"><a href="pdu_8h.html#ac60fb9284ace878df3db4a2d621d9a8d">coap_tid_t</a></div><div class="ttdeci">int coap_tid_t</div><div class="ttdoc">coap_tid_t is used to store CoAP transaction id, i.e.</div><div class="ttdef"><b>Definition</b> <a href="pdu_8h_source.html#l00238">pdu.h:238</a></div></div>
<div class="ttc" id="astructcoap__address__t_html"><div class="ttname"><a href="structcoap__address__t.html">coap_address_t</a></div><div class="ttdoc">multi-purpose address abstraction</div><div class="ttdef"><b>Definition</b> <a href="address_8h_source.html#l00062">address.h:62</a></div></div>
<div class="ttc" id="astructcoap__context__t_html"><div class="ttname"><a href="structcoap__context__t.html">coap_context_t</a></div><div class="ttdoc">The CoAP stack's global state is stored in a coap_context_t object.</div><div class="ttdef"><b>Definition</b> <a href="net_8h_source.html#l00148">net.h:148</a></div></div>
<div class="ttc" id="astructcoap__context__t_html_ab7d5935f4a3e1c94fa6bb12bf6400006"><div class="ttname"><a href="structcoap__context__t.html#ab7d5935f4a3e1c94fa6bb12bf6400006">coap_context_t::endpoint</a></div><div class="ttdeci">coap_endpoint_t * endpoint</div><div class="ttdoc">the endpoints used for listening</div><div class="ttdef"><b>Definition</b> <a href="net_8h_source.html#l00166">net.h:166</a></div></div>
<div class="ttc" id="astructcoap__dtls__pki__t_html"><div class="ttname"><a href="structcoap__dtls__pki__t.html">coap_dtls_pki_t</a></div><div class="ttdoc">The structure used for defining the PKI setup data to be used.</div><div class="ttdef"><b>Definition</b> <a href="coap__dtls_8h_source.html#l00191">coap_dtls.h:191</a></div></div>
<div class="ttc" id="astructcoap__endpoint__t_html"><div class="ttname"><a href="structcoap__endpoint__t.html">coap_endpoint_t</a></div><div class="ttdoc">Abstraction of virtual endpoint that can be attached to coap_context_t.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00301">coap_session.h:301</a></div></div>
<div class="ttc" id="astructcoap__endpoint__t_html_a4612066bbf36aa7012fd292d8eb4cbe8"><div class="ttname"><a href="structcoap__endpoint__t.html#a4612066bbf36aa7012fd292d8eb4cbe8">coap_endpoint_t::context</a></div><div class="ttdeci">struct coap_context_t * context</div><div class="ttdoc">endpoint's context</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00303">coap_session.h:303</a></div></div>
<div class="ttc" id="astructcoap__endpoint__t_html_a5b819bf10b7f0d3d4fd169f2adc86b79"><div class="ttname"><a href="structcoap__endpoint__t.html#a5b819bf10b7f0d3d4fd169f2adc86b79">coap_endpoint_t::default_mtu</a></div><div class="ttdeci">uint16_t default_mtu</div><div class="ttdoc">default mtu for this interface</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00305">coap_session.h:305</a></div></div>
<div class="ttc" id="astructcoap__endpoint__t_html_a6032778926bccf2e0c4f093eff03bb51"><div class="ttname"><a href="structcoap__endpoint__t.html#a6032778926bccf2e0c4f093eff03bb51">coap_endpoint_t::sessions</a></div><div class="ttdeci">coap_session_t * sessions</div><div class="ttdoc">list of active sessions</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00308">coap_session.h:308</a></div></div>
<div class="ttc" id="astructcoap__endpoint__t_html_a86f59a037b10a85da5a295f29b4febc5"><div class="ttname"><a href="structcoap__endpoint__t.html#a86f59a037b10a85da5a295f29b4febc5">coap_endpoint_t::hello</a></div><div class="ttdeci">coap_session_t hello</div><div class="ttdoc">special session of DTLS hello messages</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00309">coap_session.h:309</a></div></div>
<div class="ttc" id="astructcoap__endpoint__t_html_aa1898beae662b147f0b1d2b36a9c5391"><div class="ttname"><a href="structcoap__endpoint__t.html#aa1898beae662b147f0b1d2b36a9c5391">coap_endpoint_t::next</a></div><div class="ttdeci">struct coap_endpoint_t * next</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00302">coap_session.h:302</a></div></div>
<div class="ttc" id="astructcoap__endpoint__t_html_ab7ae1b1eaada32ecebf9333945fbe4e0"><div class="ttname"><a href="structcoap__endpoint__t.html#ab7ae1b1eaada32ecebf9333945fbe4e0">coap_endpoint_t::bind_addr</a></div><div class="ttdeci">coap_address_t bind_addr</div><div class="ttdoc">local interface address</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00307">coap_session.h:307</a></div></div>
<div class="ttc" id="astructcoap__endpoint__t_html_ad0d9d4c7a4ff91f4e5149ea82cc02a38"><div class="ttname"><a href="structcoap__endpoint__t.html#ad0d9d4c7a4ff91f4e5149ea82cc02a38">coap_endpoint_t::sock</a></div><div class="ttdeci">coap_socket_t sock</div><div class="ttdoc">socket object for the interface, if any</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00306">coap_session.h:306</a></div></div>
<div class="ttc" id="astructcoap__endpoint__t_html_ad5a48a373d77ee179f28ebba6e064b55"><div class="ttname"><a href="structcoap__endpoint__t.html#ad5a48a373d77ee179f28ebba6e064b55">coap_endpoint_t::proto</a></div><div class="ttdeci">coap_proto_t proto</div><div class="ttdoc">protocol used on this interface</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00304">coap_session.h:304</a></div></div>
<div class="ttc" id="astructcoap__fixed__point__t_html"><div class="ttname"><a href="structcoap__fixed__point__t.html">coap_fixed_point_t</a></div><div class="ttdoc">Abstraction of a fixed point number that can be used where necessary instead of a float.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00025">coap_session.h:25</a></div></div>
<div class="ttc" id="astructcoap__fixed__point__t_html_aa6ed7ff902331d33a73c913dde321c3b"><div class="ttname"><a href="structcoap__fixed__point__t.html#aa6ed7ff902331d33a73c913dde321c3b">coap_fixed_point_t::fractional_part</a></div><div class="ttdeci">uint16_t fractional_part</div><div class="ttdoc">Fractional part of fixed point variable 1/1000 (3 points) precision.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00027">coap_session.h:27</a></div></div>
<div class="ttc" id="astructcoap__fixed__point__t_html_af1d2a64146f6ad7f4ad4f5418ae75f44"><div class="ttname"><a href="structcoap__fixed__point__t.html#af1d2a64146f6ad7f4ad4f5418ae75f44">coap_fixed_point_t::integer_part</a></div><div class="ttdeci">uint16_t integer_part</div><div class="ttdoc">Integer part of fixed point variable.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00026">coap_session.h:26</a></div></div>
<div class="ttc" id="astructcoap__packet__t_html"><div class="ttname"><a href="structcoap__packet__t.html">coap_packet_t</a></div><div class="ttdef"><b>Definition</b> <a href="coap__io_8h_source.html#l00196">coap_io.h:196</a></div></div>
<div class="ttc" id="astructcoap__pdu__t_html"><div class="ttname"><a href="structcoap__pdu__t.html">coap_pdu_t</a></div><div class="ttdoc">structure for CoAP PDUs token, if any, follows the fixed size header, then options until payload mark...</div><div class="ttdef"><b>Definition</b> <a href="pdu_8h_source.html#l00285">pdu.h:285</a></div></div>
<div class="ttc" id="astructcoap__queue__t_html"><div class="ttname"><a href="structcoap__queue__t.html">coap_queue_t</a></div><div class="ttdoc">Queue entry.</div><div class="ttdef"><b>Definition</b> <a href="net_8h_source.html#l00039">net.h:39</a></div></div>
<div class="ttc" id="astructcoap__queue__t_html_a20ff974763849b7aeaca2cbf6f4b8f70"><div class="ttname"><a href="structcoap__queue__t.html#a20ff974763849b7aeaca2cbf6f4b8f70">coap_queue_t::session</a></div><div class="ttdeci">coap_session_t * session</div><div class="ttdoc">the CoAP session</div><div class="ttdef"><b>Definition</b> <a href="net_8h_source.html#l00045">net.h:45</a></div></div>
<div class="ttc" id="astructcoap__session__t_html"><div class="ttname"><a href="structcoap__session__t.html">coap_session_t</a></div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00056">coap_session.h:56</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a017ee7bfd8942df7a1c656fe52d5ac6a"><div class="ttname"><a href="structcoap__session__t.html#a017ee7bfd8942df7a1c656fe52d5ac6a">coap_session_t::last_pong</a></div><div class="ttdeci">coap_tick_t last_pong</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00082">coap_session.h:82</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a0e449eb256836dcf5932791f53881b6e"><div class="ttname"><a href="structcoap__session__t.html#a0e449eb256836dcf5932791f53881b6e">coap_session_t::dtls_timeout_count</a></div><div class="ttdeci">unsigned int dtls_timeout_count</div><div class="ttdoc">dtls setup retry counter</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00092">coap_session.h:92</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a28348c0c301bce7201403aa5545ef2b6"><div class="ttname"><a href="structcoap__session__t.html#a28348c0c301bce7201403aa5545ef2b6">coap_session_t::last_rx_tx</a></div><div class="ttdeci">coap_tick_t last_rx_tx</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00079">coap_session.h:79</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a29f92f61ab5c863c90254ce71e3859eb"><div class="ttname"><a href="structcoap__session__t.html#a29f92f61ab5c863c90254ce71e3859eb">coap_session_t::sock</a></div><div class="ttdeci">coap_socket_t sock</div><div class="ttdoc">socket object for the session, if any</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00068">coap_session.h:68</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a2b1cf84dfbbb313dd07afe2eba0f498b"><div class="ttname"><a href="structcoap__session__t.html#a2b1cf84dfbbb313dd07afe2eba0f498b">coap_session_t::max_retransmit</a></div><div class="ttdeci">unsigned int max_retransmit</div><div class="ttdoc">maximum re-transmit count (default 4)</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00089">coap_session.h:89</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a2d91d4ac95843b0a893e4d22f081f611"><div class="ttname"><a href="structcoap__session__t.html#a2d91d4ac95843b0a893e4d22f081f611">coap_session_t::partial_pdu</a></div><div class="ttdeci">coap_pdu_t * partial_pdu</div><div class="ttdoc">incomplete incoming pdu</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00078">coap_session.h:78</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a351217007fcd02e549b73569577fa5a1"><div class="ttname"><a href="structcoap__session__t.html#a351217007fcd02e549b73569577fa5a1">coap_session_t::endpoint</a></div><div class="ttdeci">struct coap_endpoint_t * endpoint</div><div class="ttdoc">session's endpoint</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00069">coap_session.h:69</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a35d1d5a9363771686717634558f9a9f4"><div class="ttname"><a href="structcoap__session__t.html#a35d1d5a9363771686717634558f9a9f4">coap_session_t::tls_overhead</a></div><div class="ttdeci">unsigned tls_overhead</div><div class="ttdoc">overhead of TLS layer</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00062">coap_session.h:62</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a382b6afaed298581b57d62aaf043cfe3"><div class="ttname"><a href="structcoap__session__t.html#a382b6afaed298581b57d62aaf043cfe3">coap_session_t::state</a></div><div class="ttdeci">coap_session_state_t state</div><div class="ttdoc">current state of relationaship with peer</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00060">coap_session.h:60</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a3d42db7192f7dd9b4dbc580623ae80b2"><div class="ttname"><a href="structcoap__session__t.html#a3d42db7192f7dd9b4dbc580623ae80b2">coap_session_t::psk_identity_len</a></div><div class="ttdeci">size_t psk_identity_len</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00085">coap_session.h:85</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a527f7977596333c89e623c3deb621d25"><div class="ttname"><a href="structcoap__session__t.html#a527f7977596333c89e623c3deb621d25">coap_session_t::local_addr</a></div><div class="ttdeci">coap_address_t local_addr</div><div class="ttdoc">local address and port</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00066">coap_session.h:66</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a580cf637bab6c459b600f83b3fe0e720"><div class="ttname"><a href="structcoap__session__t.html#a580cf637bab6c459b600f83b3fe0e720">coap_session_t::read_header</a></div><div class="ttdeci">uint8_t read_header[8]</div><div class="ttdoc">storage space for header of incoming message header</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00076">coap_session.h:76</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a5e1b647f8b5ce42ea7a0d0893fb3504a"><div class="ttname"><a href="structcoap__session__t.html#a5e1b647f8b5ce42ea7a0d0893fb3504a">coap_session_t::remote_addr</a></div><div class="ttdeci">coap_address_t remote_addr</div><div class="ttdoc">remote address and port</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00065">coap_session.h:65</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a62089dd9c72836d322ae0ce0d0e7114f"><div class="ttname"><a href="structcoap__session__t.html#a62089dd9c72836d322ae0ce0d0e7114f">coap_session_t::proto</a></div><div class="ttdeci">coap_proto_t proto</div><div class="ttdoc">protocol used</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00058">coap_session.h:58</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a66b26cc53491f7a550ed7e7d93b0b145"><div class="ttname"><a href="structcoap__session__t.html#a66b26cc53491f7a550ed7e7d93b0b145">coap_session_t::tx_mid</a></div><div class="ttdeci">uint16_t tx_mid</div><div class="ttdoc">the last message id that was used in this session</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00072">coap_session.h:72</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a68e9ded6d8b771bba584d50809cee98c"><div class="ttname"><a href="structcoap__session__t.html#a68e9ded6d8b771bba584d50809cee98c">coap_session_t::psk_key</a></div><div class="ttdeci">uint8_t * psk_key</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00086">coap_session.h:86</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a6efb100633d8a819e427cf1f97015440"><div class="ttname"><a href="structcoap__session__t.html#a6efb100633d8a819e427cf1f97015440">coap_session_t::ref</a></div><div class="ttdeci">unsigned ref</div><div class="ttdoc">reference count from queues</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00061">coap_session.h:61</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a84e90d62fbc324bdf21041269befe30d"><div class="ttname"><a href="structcoap__session__t.html#a84e90d62fbc324bdf21041269befe30d">coap_session_t::delayqueue</a></div><div class="ttdeci">struct coap_queue_t * delayqueue</div><div class="ttdoc">list of delayed messages waiting to be sent</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00074">coap_session.h:74</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a8a7bb416f1b131d5eeddd2c7915d4e3e"><div class="ttname"><a href="structcoap__session__t.html#a8a7bb416f1b131d5eeddd2c7915d4e3e">coap_session_t::psk_identity</a></div><div class="ttdeci">uint8_t * psk_identity</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00084">coap_session.h:84</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a8f8e37457b167cc8b95fadd7eeffd8d7"><div class="ttname"><a href="structcoap__session__t.html#a8f8e37457b167cc8b95fadd7eeffd8d7">coap_session_t::context</a></div><div class="ttdeci">struct coap_context_t * context</div><div class="ttdoc">session's context</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00070">coap_session.h:70</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a9a70d6293b5af4165ad58115f1a4e63a"><div class="ttname"><a href="structcoap__session__t.html#a9a70d6293b5af4165ad58115f1a4e63a">coap_session_t::partial_read</a></div><div class="ttdeci">size_t partial_read</div><div class="ttdoc">if &gt; 0 indicates number of bytes already read for an incoming message</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00077">coap_session.h:77</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a9ddc6f7076a6c6f3781e65d8c7555489"><div class="ttname"><a href="structcoap__session__t.html#a9ddc6f7076a6c6f3781e65d8c7555489">coap_session_t::dtls_event</a></div><div class="ttdeci">int dtls_event</div><div class="ttdoc">Tracking any (D)TLS events on this sesison.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00093">coap_session.h:93</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_a9eb6890809e9aa01d225691bb4ae97db"><div class="ttname"><a href="structcoap__session__t.html#a9eb6890809e9aa01d225691bb4ae97db">coap_session_t::tls</a></div><div class="ttdeci">void * tls</div><div class="ttdoc">security parameters</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00071">coap_session.h:71</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_ab1a71a0cb19b2d509e7ac44a586a4e78"><div class="ttname"><a href="structcoap__session__t.html#ab1a71a0cb19b2d509e7ac44a586a4e78">coap_session_t::next</a></div><div class="ttdeci">struct coap_session_t * next</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00057">coap_session.h:57</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_ab2221cf0295db08a698d75292edb3e52"><div class="ttname"><a href="structcoap__session__t.html#ab2221cf0295db08a698d75292edb3e52">coap_session_t::ack_random_factor</a></div><div class="ttdeci">coap_fixed_point_t ack_random_factor</div><div class="ttdoc">ack random factor backoff (default 1.5)</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00091">coap_session.h:91</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_ab360022130771a166ea0e93a1876ced4"><div class="ttname"><a href="structcoap__session__t.html#ab360022130771a166ea0e93a1876ced4">coap_session_t::con_active</a></div><div class="ttdeci">uint8_t con_active</div><div class="ttdoc">Active CON request sent.</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00073">coap_session.h:73</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_ab7bbc675ecb1bc714b160aba22393406"><div class="ttname"><a href="structcoap__session__t.html#ab7bbc675ecb1bc714b160aba22393406">coap_session_t::app</a></div><div class="ttdeci">void * app</div><div class="ttdoc">application-specific data</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00088">coap_session.h:88</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_abc8462729a3fcdf21edc2aae125c04b8"><div class="ttname"><a href="structcoap__session__t.html#abc8462729a3fcdf21edc2aae125c04b8">coap_session_t::local_if</a></div><div class="ttdeci">coap_address_t local_if</div><div class="ttdoc">optional local interface address</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00064">coap_session.h:64</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_abe9912fc16ffc9c9f54b9cc0e898d0fb"><div class="ttname"><a href="structcoap__session__t.html#abe9912fc16ffc9c9f54b9cc0e898d0fb">coap_session_t::last_ping</a></div><div class="ttdeci">coap_tick_t last_ping</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00081">coap_session.h:81</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_abf982474de09f45881ce3e31a8782118"><div class="ttname"><a href="structcoap__session__t.html#abf982474de09f45881ce3e31a8782118">coap_session_t::ack_timeout</a></div><div class="ttdeci">coap_fixed_point_t ack_timeout</div><div class="ttdoc">timeout waiting for ack (default 2 secs)</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00090">coap_session.h:90</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_ac126597f3f66272ed3e9c5439570e4df"><div class="ttname"><a href="structcoap__session__t.html#ac126597f3f66272ed3e9c5439570e4df">coap_session_t::mtu</a></div><div class="ttdeci">unsigned mtu</div><div class="ttdoc">path or CSM mtu</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00063">coap_session.h:63</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_ac39d8e22dbd5389177a75819dab125ea"><div class="ttname"><a href="structcoap__session__t.html#ac39d8e22dbd5389177a75819dab125ea">coap_session_t::type</a></div><div class="ttdeci">coap_session_type_t type</div><div class="ttdoc">client or server side socket</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00059">coap_session.h:59</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_ad69783e1a9bc85a43d0bd6511de2c6a0"><div class="ttname"><a href="structcoap__session__t.html#ad69783e1a9bc85a43d0bd6511de2c6a0">coap_session_t::last_tx_rst</a></div><div class="ttdeci">coap_tick_t last_tx_rst</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00080">coap_session.h:80</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_af59543a005a01767382c6739cd710ee4"><div class="ttname"><a href="structcoap__session__t.html#af59543a005a01767382c6739cd710ee4">coap_session_t::partial_write</a></div><div class="ttdeci">size_t partial_write</div><div class="ttdoc">if &gt; 0 indicates number of bytes already written from the pdu at the head of sendqueue</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00075">coap_session.h:75</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_af8b4ea1655029f581c5a85c93f4c742d"><div class="ttname"><a href="structcoap__session__t.html#af8b4ea1655029f581c5a85c93f4c742d">coap_session_t::csm_tx</a></div><div class="ttdeci">coap_tick_t csm_tx</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00083">coap_session.h:83</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_af95ccb69ae49c6d8a2a3ccbd8d967067"><div class="ttname"><a href="structcoap__session__t.html#af95ccb69ae49c6d8a2a3ccbd8d967067">coap_session_t::psk_key_len</a></div><div class="ttdeci">size_t psk_key_len</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00087">coap_session.h:87</a></div></div>
<div class="ttc" id="astructcoap__session__t_html_afcebad5cfefed99f0073ac037ba7d997"><div class="ttname"><a href="structcoap__session__t.html#afcebad5cfefed99f0073ac037ba7d997">coap_session_t::ifindex</a></div><div class="ttdeci">int ifindex</div><div class="ttdoc">interface index</div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00067">coap_session.h:67</a></div></div>
<div class="ttc" id="astructcoap__socket__t_html"><div class="ttname"><a href="structcoap__socket__t.html">coap_socket_t</a></div><div class="ttdef"><b>Definition</b> <a href="coap__io_8h_source.html#l00040">coap_io.h:40</a></div></div>
<div class="ttc" id="authash_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00079">uthash.h:79</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_a14d23a24002734ac2a3b997119f008e.html">coap2</a></li><li class="navelem"><a class="el" href="coap__session_8h.html">coap_session.h</a></li>
    <li class="footer">Generated on Fri Dec 27 2024 09:57:44 for libcoap by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
  </ul>
</div>
</body>
</html>
